#include "widget.h"
#include <QPushButton>
#include "mybutton.h"
#include <QDebug>
#include<QMessageBox>
Widget::Widget(QWidget *parent)
    : QWidget(parent)//初始化列表
{

    //按钮
    QPushButton * btn = new QPushButton("ANNIU",this);
    //   btn->setParent(this);
    //   btn->show();//show用顶层的方式弹出,如果想在MyWidget窗口中显示,就需要依赖MyWidget窗口
    //   btn->setText("按钮一");//将char*隐式转换为QString
    btn->setText("喂食");
    this->resize(600,400);//重定向大小
    btn->move(100,100);//移动位置,相对父窗口
    setWindowTitle("新的窗口");
    setFixedSize(600,400);//设定固定窗口大小


//    QPushButton *btn2 = new QPushButton("按钮二",this);
//    btn2->move(200,200);

//    int m =10 ;
//    connect(btn,&QPushButton::clicked,this,[m](){
//        QMessageBox::information(NULL,"alert",QString::number(m),QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
//    });

//    connect(btn2,&QPushButton::clicked,this,[m]() mutable {
//        m=m+1;
//        QMessageBox::information(NULL,"alert",QString::number(m),QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
//    });
//    qDebug()<<m;
    //做信号槽连接  默认内部变量会进行锁状态,只读状态,如果进行写操作 异常->dead
    connect(btn,&QPushButton::clicked,this,[&]()  {
        btn->setText("dd");
    });

//    tc = new Techer (this);
//    stu = new Student (this);
//    //函数指针,指向一个函数的有参重载
//    void(Techer::*ls)(QString) = &Techer::hungry;
//    void(Student::*qk)(QString) = &Student::treat;
//    connect(btn,&QPushButton::clicked,this,&Widget::doTest);
//    doTest();
    //emit tc->hungry(QString)
    /*emit stu->treat(); *///也可以触发槽函数
    //    btn->click();
    //    //创建一个自定义的按钮
    //    mybutton * mybtn = new mybutton;
    //    mybtn->setText("我的按钮");
    //    mybtn->move(200,200);
    //    mybtn->setParent(this);
    ////    connect(mybtn,&QPushButton::clicked,[btn](){
    ////        btn->move(300,300);
    ////    });
    //    connect(mybtn,&mybutton::clicked,this,&QWidget::close);

}

void Widget::doTest(){
    QMessageBox::information(NULL, "请客", "1",
                             QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    emit tc->hungry("shi");
}

Widget::~Widget()
{
}


